The field of computer security has become increasingly important in today's society. Computer platforms are increasingly designed with a trusted execution environment (TEE) that provides a secure area of hardware in which code and data can be loaded and guaranteed to be protected with respect to confidentiality and integrity. A TEE provides an isolated execution environment in a computing device in which trusted applications can be executed with access to a device's processor and memory, while the hardware isolation protects the trusted applications from other applications running in a main operating system of the device, for example.
Numerous internal and external hardware peripherals may be used by computing devices. Establishing trust between these hardware peripherals and a trusted execution environment of a computing device can be complicated due, at least in part, to the large number and types of peripheral devices, as well as the wide range of vendors and original equipment manufacturers (OEMs) offering these peripheral devices. Thus, computer architects face significant challenges in establishing trust between peripheral devices and a trusted execution environment.